home *** CD-ROM | disk | FTP | other *** search
- //--------------------------------------------------------------------------
- //
- // Copyright (c) 2002, Colin Granville
- //
- // All rights reserved.
- //
- // Redistribution and use in source and binary forms, with or
- // without modification, are permitted provided that the following
- // conditions are met:
- //
- // * Redistributions of source code must retain the above copyright
- // notice, this list of conditions and the following disclaimer.
- //
- // * Redistributions in binary form must reproduce the above
- // copyright notice, this list of conditions and the following
- // disclaimer in the documentation and/or other materials
- // provided with the distribution.
- //
- // * The name Colin Granville may not be used to endorse or promote
- // products derived from this software without specific prior
- // written permission.
- //
- // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- // "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- // LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
- // FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
- // COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
- // INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
- // (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
- // SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
- // HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
- // STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
- // ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
- // OF THE POSSIBILITY OF SUCH DAMAGE.
- //
- //--------------------------------------------------------------------------
-
- #ifndef GuiTask_H
- #define GuiTask_H
-
- #include "stl:string.h"
- #include "GuiSprite.h"
- #include "GuiToolbox.h"
-
- #define GUI_TASK_ALL_MESSAGES ((int*)1)
-
- // allow all messages by default
- void guiTaskInitialise(const char* resource_directory,int wimp_version=310,
- int *wimp_mess=GUI_TASK_ALL_MESSAGES,
- int *tbox_events=GUI_TASK_ALL_MESSAGES);
-
- class GuiTask;
- GuiTask& guiTask();
-
- class GuiObject;
-
- class GuiTask
- {
- public:
- friend GuiTask& guiTask();
-
- const GuiSpriteArea* spriteArea() const {return m_sprite_area;}
- static void raiseEvent(GuiObject&,
- GuiToolboxEvent& event,
- GuiComponentId=NULL_GuiComponentId);
- const char* lookup(const char* token,const char* p0=0,const char* p1=0,
- const char* p2=0,const char* p3=0);
- const GuiIdBlock& idBlock() const {return m_id_block;}
- private:
- GuiTask();
- int m_wimp_version;
- string m_resource_directory;
- string m_name;
- int m_handle;
- GuiSpriteArea* m_sprite_area;
- GuiMessagesFD m_messages;
- GuiIdBlock m_id_block;
- };
-
- #endif
-